package com.itheima.health.service;

import com.itheima.health.entity.PageResult;
import com.itheima.health.entity.QueryPageBean;
import com.itheima.health.Exception.MyException;
import com.itheima.health.pojo.Menu;
import com.itheima.health.pojo.Permission;
import com.itheima.health.pojo.Role;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *     角色管理
 * </p>
 * @Author：Super
 * @Date: 2020/12/4 15:11
 */
public interface RoleService {


    /**
     * 角色管理的分页条件查询
     * @param queryPageBean
     * @return
     */
    PageResult<Role> findPage(QueryPageBean queryPageBean);


    /**
     * 查询多有权限
     * @return
     */
    List<Permission> findAllPermission();


    /**
     * 查询所有菜单
     * @return
     */
    List<Menu> findAllMenu();


    /**
     * 添加角色
     * @param param
     */
    void add(Map<String, Object> param);


    /**
     * 删除角色
     * @param id
     * @throws MyException
     */
    void deleteById(Integer id)throws MyException;


    /**
     * 修改角色数据回显--查询角色
     * @param id
     * @return
     */
    Role findRoleById(Integer id);


    /**
     * 查询和角色对应的权限
     * @param id
     * @return
     */
    List<Integer> findPermissionIdsByRoleId(Integer id);


    /**
     * 查询和角色对应的菜单
     * @param id
     * @return
     */
    List<Integer> findMenuIdsByRoleId(Integer id);


    /**
     * 编辑角色
     * @param param
     */
    void update(Map<String, Object> param);

    List<Role> findAll();
}
